
package com.insigma.business.qrcode.soldier._bff;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.insigma.business.common.dto.CurrentUser;
import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.SoldierOuterLoginAccountDTO;
import com.insigma.business.qrcode.soldier.request.BaseApiRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.soldier.request.SoldierOuterLoginAccountUpdateRequest;
import com.insigma.business.qrcode.welfare.dto.SoldierUserInfoDTO;


import java.io.UnsupportedEncodingException;
import java.util.LinkedHashMap;
import java.util.List;


public interface SoldierBffProvider {


    @ApiServiceType(value = "ss.common.soldier.changeProfilePic", name = "更改头像", desc = "更改头像")
    BaseResponse<Integer> changeProfilePic(final SoldierOuterLoginAccountUpdateRequest updateRequest);

    @ApiServiceType(value = "all.ss.soldier.get", name = "老兵单条查看", desc = "老兵单条查看")
    BaseResponse<JSONObject> getSoldier(final BaseGetRequest baseGetRequest);


    //  老兵码申请查询状态
    @ApiServiceType(value = "all.ss.ssh.process.get", name = "查询老兵的状态", desc = "查询老兵的状态")
//    BaseResponse<SoldierUserInfoDTO> checkSshUserInfo(final BaseApiRequest request);
    BaseResponse<SoldierUserInfoDTO> checkSshUserInfo(final BaseApiRequest request);

    @ApiServiceType(value = "all.ss.soldier.getDetail", name = "查询老兵码详情", desc = "查询老兵码详情")
    BaseResponse<SoldierUserInfoDTO> getSoldierDetailBySoldierId(final BaseApiRequest request);

    //查询老兵身份信息列表
    @ApiServiceType(value = "all.ss.ssh.process.querySoldierRelationshipList", name = "查询老兵身份信息列表", desc = "查询老兵身份信息列表")
    BaseResponse<List<SoldierUserInfoDTO>> querySoldierRelationshipList(final BaseApiRequest request);

    
    @ApiServiceType(value = "soldier.ss.ssh.old.qrstring.get", name = "查询老的qrstring", desc = "查询老的qrstring")
    BaseResponse<SoldierUserInfoDTO> checkSshUserInfoOldQrString();

    
    @ApiServiceType(value = "noauth.all.ss.ssh.detail.get", name = "查询老兵的状态", desc = "查询老兵的状态")
    BaseResponse<SoldierUserInfoDTO> checkLbmInfo(final BaseApiRequest request);

    
    @ApiServiceType(value = "all.ss.soldier.base.person.qr", name = "扫码二维码获得个人信息", desc = "扫码二维码获得个人信息")
    BaseResponse<SoldierUserInfoDTO> getSoldierBasicInfoByQr(final BaseApiRequest request);

    
    @ApiServiceType(value = "all.ss.ssh.detail", name = "查看我的详情", desc = "查看我的详情")
    BaseResponse<SoldierUserInfoDTO> querySoldierDetail(final BaseApiRequest request);
    @ApiServiceType(value = "all.ss.ssh.account.info", name = "查看我的详情", desc = "查看我的详情")
    BaseResponse<SoldierOuterLoginAccountDTO> getSshAccount();


}
